{"cells": [{"cell_type": "markdown", "id": "88e87d36", "metadata": {"tags": ["module-gfdocean"]}, "source": ["## The mixed layer\n", "[Geophysical Fluid Dynamics of the Oceans](module-gfdocean) \n", "```{index} Mixed layer\n", "```\n", "In this notebook, the mixed layer will be investigated using NetCDF data from the NOAA (National Oceanic and Atmosphereric Administration). "]}, {"cell_type": "code", "execution_count": null, "id": "f6fd1f12", "metadata": {}, "outputs": [], "source": ["import fsspec\n", "import xarray as xr"]}, {"cell_type": "markdown", "id": "2a29da94", "metadata": {}, "source": ["The mixed layer is mixed by the winds on the surface creating a homogeneous layer. It is being mixed by wind stress, eddies, kinematic viscosity and convection. The stronger the winds, the deeper the mixed layer. The mixed layer is deeper in the Winter than in Summer. In the Winter, the surface water cooles so it becomes denser causing convection as it is more dense than the layer below. More turbulence also deepens the mixed layer.\n", "\n", "
<xarray.Dataset>\n", "Dimensions: (n_param: 3, n_levels: 77, n_history: 4, n_calib: 1)\n", "Dimensions without coordinates: n_param, n_levels, n_history, n_calib\n", "Data variables: (12/65)\n", " data_type object b'Argo profile '\n", " format_version object b'3.1 '\n", " handbook_version object b'1.2 '\n", " reference_date_time object b'19500101000000'\n", " date_creation object b'20161104225754'\n", " date_update object b'20170714162347'\n", " ... ...\n", " parameter (n_calib, n_param) object b'PRES ...\n", " scientific_calib_equation (n_calib, n_param) object b'PRES_ADJUSTED (...\n", " scientific_calib_coefficient (n_calib, n_param) object b'Surface pressur...\n", " scientific_calib_comment (n_calib, n_param) object b'Pressure adjust...\n", " scientific_calib_date (n_calib, n_param) object b'20170714162348'...\n", " crs int32 -2147483647\n", "Attributes: (12/49)\n", " title: Argo float vertical profile\n", " institution: CORIOLIS\n", " source: Argo float\n", " history: 2018-06-09T01:59:23Z csun convAGDAC.f90 ...\n", " references: http://www.nodc.noaa.gov/argo/\n", " user_manual_version: 3.1\n", " ... ...\n", " time_coverage_end: 2015-09-07T12:29:26Z\n", " time_coverage_duration: point\n", " time_coverage_resolution: point\n", " gadr_ConventionVersion: GADR-3.0\n", " gadr_program: convAGDAC.f90\n", " gadr_programVersion: 1.0
array(b'Argo profile ', dtype=object)
array(b'3.1 ', dtype=object)
array(b'1.2 ', dtype=object)
array(b'19500101000000', dtype=object)
array(b'20161104225754', dtype=object)
array(b'20170714162347', dtype=object)
array(b'1901358 ', dtype=object)
array(b'BSH ',\n", " dtype=object)
array(b'Birgit KLEIN ',\n", " dtype=object)
array([b'PRES ', b'TEMP ', b'PSAL '],\n", " dtype=object)
array(79.)
array(b'A', dtype=object)
array(b'IF', dtype=object)
array(b' ', dtype=object)
array(b'2C ', dtype=object)
array(b'D', dtype=object)
array(b'APEX ', dtype=object)
array(b'6459 ', dtype=object)
array(b'071412 ', dtype=object)
array(b'846 ', dtype=object)
array('2015-09-07T12:29:26.000001024', dtype='datetime64[ns]')
array(b'1', dtype=object)
array('2015-09-07T13:48:51.000001024', dtype='datetime64[ns]')
array(-10.097)
array(-3.655)
array(b'1', dtype=object)
array(b'ARGOS ', dtype=object)
array(b'A', dtype=object)
array(b'A', dtype=object)
array(b'A', dtype=object)
array(b'Primary sampling: discrete [] ',\n", " dtype=object)
array(2.)
array([ 6.2, 10.3, 15.4, 19.9, 25. , 30.2, 35.5, 40.4,\n", " 45.1, 49.7, 60.6, 70.9, 80.2, 90.1, 99.4, 109.4,\n", " 119.6, 129.7, 139.6, 149.8, 160. , 170.2, 179.3, 189.7,\n", " 199.8, 210.4, 220.6, 230.3, 239.9, 250.2, 260.2, 270.3,\n", " 280.5, 289.9, 300. , 310. , 320.3, 330.5, 340.1, 350. ,\n", " 375.5, 399.6, 424.9, 450.1, 474.8, 549.5, 574.8, 599.9,\n", " 625.4, 649.6, 675.6, 700.3, 749.6, 800. , 849. , 900.4,\n", " 949.5, 999.4, 1050.1, 1100.3, 1150.6, 1200.5, 1249.8, 1300.3,\n", " 1349.9, 1400.2, 1450. , 1500. , 1550.1, 1600.3, 1650. , 1700. ,\n", " 1750.1, 1800.4, 1850.3, 1899.7, 1950. ], dtype=float32)
array([b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1'],\n", " dtype=object)
array([ 5.7999997, 9.900001 , 15. , 19.5 ,\n", " 24.6 , 29.800001 , 35.1 , 40. ,\n", " 44.699997 , 49.3 , 60.199997 , 70.5 ,\n", " 79.799995 , 89.7 , 99. , 109. ,\n", " 119.2 , 129.3 , 139.20001 , 149.40001 ,\n", " 159.6 , 169.8 , 178.90001 , 189.3 ,\n", " 199.40001 , 210. , 220.20001 , 229.90001 ,\n", " 239.5 , 249.8 , 259.80002 , 269.9 ,\n", " 280.1 , 289.5 , 299.6 , 309.6 ,\n", " 319.9 , 330.1 , 339.7 , 349.6 ,\n", " 375.1 , 399.2 , 424.5 , 449.7 ,\n", " 474.4 , 549.1 , 574.39996 , 599.5 ,\n", " 625. , 649.19995 , 675.19995 , 699.89996 ,\n", " 749.19995 , 799.6 , 848.6 , 900. ,\n", " 949.1 , 999. , 1049.7 , 1099.9 ,\n", " 1150.2 , 1200.1 , 1249.4 , 1299.9 ,\n", " 1349.5 , 1399.7999 , 1449.6 , 1499.6 ,\n", " 1549.7 , 1599.9 , 1649.6 , 1699.6 ,\n", " 1749.7 , 1800. , 1849.9 , 1899.2999 ,\n", " 1949.6 ], dtype=float32)
array([b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1'],\n", " dtype=object)
array([2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4,\n", " 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4,\n", " 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4,\n", " 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4,\n", " 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4,\n", " 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4],\n", " dtype=float32)
array([22.737, 22.732, 22.729, 22.724, 22.722, 22.721, 22.719, 22.719,\n", " 22.719, 22.586, 22.325, 19.672, 18.004, 17.212, 15.692, 14.777,\n", " 14.201, 13.593, 13.138, 12.775, 12.222, 11.901, 11.684, 11.577,\n", " 11.355, 11.146, 10.965, 10.878, 10.779, 10.6 , 10.528, 10.321,\n", " 10.246, 10.11 , 10.053, 9.924, 9.88 , 9.678, 9.584, 9.512,\n", " 9.237, 8.896, 8.499, 8.118, 7.801, 7.08 , 6.786, 6.528,\n", " 6.306, 6.038, 5.795, 5.582, 5.272, 4.927, 4.67 , 4.444,\n", " 4.304, 4.23 , 4.152, 4.099, 4.065, 4.055, 4.026, 3.976,\n", " 3.944, 3.915, 3.897, 3.828, 3.784, 3.749, 3.669, 3.619,\n", " 3.581, 3.522, 3.49 , 3.453, 3.397], dtype=float32)
array([b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1'],\n", " dtype=object)
array([22.737, 22.732, 22.729, 22.724, 22.722, 22.721, 22.719, 22.719,\n", " 22.719, 22.586, 22.325, 19.672, 18.004, 17.212, 15.692, 14.777,\n", " 14.201, 13.593, 13.138, 12.775, 12.222, 11.901, 11.684, 11.577,\n", " 11.355, 11.146, 10.965, 10.878, 10.779, 10.6 , 10.528, 10.321,\n", " 10.246, 10.11 , 10.053, 9.924, 9.88 , 9.678, 9.584, 9.512,\n", " 9.237, 8.896, 8.499, 8.118, 7.801, 7.08 , 6.786, 6.528,\n", " 6.306, 6.038, 5.795, 5.582, 5.272, 4.927, 4.67 , 4.444,\n", " 4.304, 4.23 , 4.152, 4.099, 4.065, 4.055, 4.026, 3.976,\n", " 3.944, 3.915, 3.897, 3.828, 3.784, 3.749, 3.669, 3.619,\n", " 3.581, 3.522, 3.49 , 3.453, 3.397], dtype=float32)
array([b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1'],\n", " dtype=object)
array([0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,\n", " 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,\n", " 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,\n", " 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,\n", " 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,\n", " 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,\n", " 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,\n", " 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002, 0.002,\n", " 0.002, 0.002, 0.002, 0.002, 0.002], dtype=float32)
array([36.347, 36.346, 36.347, 36.347, 36.346, 36.347, 36.347, 36.347,\n", " 36.346, 36.371, 36.464, 36.216, 35.998, 35.904, 35.7 , 35.574,\n", " 35.488, 35.41 , 35.343, 35.29 , 35.214, 35.166, 35.135, 35.121,\n", " 35.091, 35.063, 35.042, 35.03 , 35.017, 34.997, 34.988, 34.965,\n", " 34.955, 34.942, 34.934, 34.921, 34.914, 34.893, 34.885, 34.875,\n", " 34.846, 34.81 , 34.771, 34.735, 34.707, 34.643, 34.619, 34.6 ,\n", " 34.584, 34.566, 34.55 , 34.536, 34.52 , 34.511, 34.513, 34.531,\n", " 34.559, 34.588, 34.617, 34.658, 34.692, 34.716, 34.748, 34.787,\n", " 34.816, 34.846, 34.861, 34.878, 34.895, 34.909, 34.916, 34.921,\n", " 34.923, 34.926, 34.927, 34.928, 34.929], dtype=float32)
array([b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1'],\n", " dtype=object)
array([36.347137, 36.346138, 36.347137, 36.347137, 36.346138, 36.347137,\n", " 36.347137, 36.347137, 36.346138, 36.371136, 36.46414 , 36.21615 ,\n", " 35.998154, 35.904156, 35.700222, 35.574207, 35.488194, 35.41019 ,\n", " 35.34318 , 35.290184, 35.21418 , 35.16618 , 35.135178, 35.121178,\n", " 35.09118 , 35.06318 , 35.04218 , 35.030178, 35.017178, 34.99718 ,\n", " 34.98818 , 34.96518 , 34.955185, 34.942184, 34.93418 , 34.921185,\n", " 34.914185, 34.893185, 34.88518 , 34.875187, 34.846188, 34.810192,\n", " 34.771194, 34.735195, 34.7072 , 34.643208, 34.61921 , 34.60021 ,\n", " 34.584213, 34.56622 , 34.550217, 34.53622 , 34.52022 , 34.511227,\n", " 34.513226, 34.53122 , 34.55922 , 34.58822 , 34.617214, 34.658215,\n", " 34.69221 , 34.716206, 34.748207, 34.7872 , 34.816204, 34.8462 ,\n", " 34.8612 , 34.878197, 34.8952 , 34.909195, 34.916195, 34.921196,\n", " 34.923195, 34.926193, 34.927193, 34.928196, 34.92919 ],\n", " dtype=float32)
array([b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1',\n", " b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1', b'1'],\n", " dtype=object)
array([0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,\n", " 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,\n", " 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,\n", " 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,\n", " 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,\n", " 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,\n", " 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01],\n", " dtype=float32)
array([b'IF ', b'IF ', b'IF ', b'GE '], dtype=object)
array([b'ARFM', b'ARGQ', b'ARGQ', b'ARSQ'], dtype=object)
array([b'CODA', b'COQC', b'COQC', b'OW '], dtype=object)
array([b'008a', b'2.7 ', b'2.7 ', b'1.0 '], dtype=object)
array([b' ',\n", " b' ',\n", " b' ',\n", " b'ARGO CTD ref. database: CTD_for_DMQC_2016V01 + ARGO climatology '],\n", " dtype=object)
array([b'20161104225754', b'20161104225824', b'20161104225824',\n", " b'20170714162348'], dtype=object)
array([b' ', b'QCP$', b'QCF$', b'IP '], dtype=object)
array([b' ', b' ', b' ',\n", " b'PSAL '], dtype=object)
array([nan, nan, nan, 6.2], dtype=float32)
array([ nan, nan, nan, 1950.], dtype=float32)
array([nan, nan, nan, nan], dtype=float32)
array([b' ', b'000000000008FB7E', b'0000000000000000',\n", " b' '], dtype=object)
array([[b'PRES ', b'TEMP ', b'PSAL ']],\n", " dtype=object)
array([[b'PRES_ADJUSTED (cycle i) = PRES (cycle i) - Surface Pressure (cycle i+1) ',\n", " b'TEMP_ADJUSTED = TEMP ',\n", " b'PSAL_ADJUSTED = PSAL (re-calculated by using PRES_ADJUSTED) ']],\n", " dtype=object)
array([[b'Surface pressure = 0.4 dbar ',\n", " b'none ',\n", " b'none ']],\n", " dtype=object)
array([[b'Pressure adjusted by using pressure offset at the sea surface. Calibration error is manufacturer specified accuracy in dbar ',\n", " b'No significant temperature drift detected. Calibration error is manufacturer specified accuracy with respect to ITS-90 ',\n", " b'No significant salinity drift detected (salinity adjusted for pressure offset). OW method (weighted least squares fit) adopted. The quoted error is max[0.01, 1xOW uncertainty] in PSS-78. ']],\n", " dtype=object)
array([[b'20170714162348', b'20170714162348', b'20170714162348']],\n", " dtype=object)
array(-2147483647, dtype=int32)